package main

import "fmt"

func main() {
	//第七章：go语言的数组
	//练习数组的注意事项
	//长度是属于类型的一部分
	var arr1 [3]int = [3]int{1, 2, 3}
	var arr2 [4]int = [4]int{1, 2, 3, 4}
	fmt.Println(arr1)
	fmt.Println(arr2)

	//GO语言中的数组是值类型，默认情况下是值传递，因此会进行值拷贝
	var arr3 [3]int = [3]int{1, 2, 3}
	test1(arr3)
	fmt.Println(arr3)
	//如果想在其他函数中修改数组的值，可以使用指针的方式
	var arr4 [3]int = [3]int{1, 2, 3}
	test2(&arr4)
	fmt.Println(arr4)

}

func test1(arr [3]int) {
	arr[0] = 100
}

func test2(arr *[3]int) {
	arr[0] = 100
}
